Part Number Hot Search : 
RCT07 1H225 HER102PT AO4836L 100KWT BL59A18 EPZ3014G 015015
Product Description
Full Text Search
 

To Download ADNS-2700 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ADNS-2700 single chip usb optical mouse sensor data sheet description the ADNS-2700 is a compact, one chip usb optical mouse sensor designed for implementation of a non-mechanical tracking engine in computer mice. it is based on optical navigation technology that measures changes in position by optically acquiring sequential surface images (frames) and mathematically determining the direction and magnitude of movement. the sensor is in an 8-pin optical package that is designed to be used with the adns-5100-001 trim lens, led clip and the hlmp-eg3e-xxxxx led. together, these parts provide a complete and compact mouse sensor. there are no moving parts and precision optical alignment is not required, thus facilitating high volume assembly. the output format is usb. this device meets hid revision 1.11 specifi cation and is compatible with usb revision 2.0 specifi cation. frame rate is varied internally to the sensor to achieve tracking and speed performance, eliminating the need for the use of many registers. default resolution is specifi ed as 1000 counts per inch, with rates of motion up to 30 inches per second. a complete mouse can be built with the addition of a pc board, switches and z-wheel, plastic case and cable. features ? one chip usb mouse sensor ? usb 2.0 low speed compliance ? 12 bits usb motion data reporting ? meets hid revision 1.11 ? single 5.0 volts power supply ? high speed motion detection at 30 inches per second (ips) and acceleration up to 8 g ? input buttons: 3 buttons ? z-wheel interface for vertical scroll ? integrated oscillator ? integrated usb d- pull-up resistor ? product string is set to usb optical mouse ? on-chip otp memory for device confi guration fl exibility without any external software driver: C programmable resolution from 500 to 1250 counts per inch (cpi) with 250 cpi step. C programmable sensor orientation C programmable vid and pid. applications ? corded optical mice ? trackballs ? integrated input devices note: ADNS-2700 will be referred to as "sensor", adns-5100- 001 as " trim lens" and hlmp-eg3e as "led" hereafter.
2 table 1. pin name description pin name input/output description xy_led i xy_led vdda5 C 5-volt power zb i z-wheel quadrature input za i z-wheel quadrature input sw C 3-in-1 button pin. do not force any voltage into this pin gnd C ground d- i/o usb d- line d+ i/o usb d+ line package pinout theory of operation the sensor is based on optical navigation technology. it contains an image acquisition system (ias), a digital signal processor (dsp) and usb stream output. the ias acquires microscopic surface images via the lens and illumination system provided by the trim lens. the clip and led. these images are processed by the dsp to determine the direction and distance of motion. the dsp generates the ? x and ? y relative displacement values which are converted to usb motion data. figure 1. package outline drawing (top view) product number date code lot code 1 2 3 4 5 6 7 8 item marking remarks product number a2700 date code xyywwz x = subcon code yyww = date code z = sensor die source e = wafer revision lot code vvv numeric
3 figure 2. package outline drawing caution: it is advised that normal static precautions be taken in handling and assembling of this component to prevent damage and/or degradation which may be induced by esd. section a-a (0.04) 0.002 (2.54) 0.100 aa pin 1 clear optical path protective kapton tape 4.55 0.179 4.45 0.175 ? 5.60 0.220 ? 0.80 0.031 12.85 (at shoulder) 0.506 5.15 0.203 12.85 0.50 (at lead tip) 0.506 0.020 9.10 0.358 4.30 0.169 3.21 0.126 90 3 q lead width 0.50 0.020 9.90 0.390 lead pitch 2.00 0.079 lead offset 1.00 0.039 lot code date code product number features for illustration only pin 1 notes: 1. dimensions in millimeter / inches. 2. dimensional tolerance: 0.1mm. 3. coplanarity of leads: 0.1mm. 4. lead pitch tolerance: 0.15mm. 5. non-cumulative pitch tolerance: 0.15mm. 6. angular tolerance: 3 q 7. maximum flash: 0.2mm. 8. brackets () indicate reference dimension. 9. document number: led_diff_8b_pkg_002
4 overview of optical mouse sensor assembly avago technologies provides an iges fi le drawing de scribing the base plate molding features for lens and pcb alignment. the sensor is designed for mounting on a through-hole pcb. there is an aperture stop and features on the package that align to the lens. the lens provides optics for the imaging of the surface as well as the illumination of the surface at the optimum angle. features on the lens align it to the sensor, base plate, and clip with the led. the clip holds the led in relation to the lens. the led must be inserted into the clip and the leds leads formed prior to loading on the pcb. figure 3. recommended pcb mechanical cutouts and spacing 10.35 0.407 2.25 0.089 5.02 0.198 6.29 0.248 7.56 0.298 12.85 0.506 31.50 1.240 optional hole for align m ent post if used 24.15 0.951 14.94 0.588 1.00 0.039 13.06 0.514 25.00 0.984 clear zone optical center 2.00 0.079 hole pitch distance 0.25 0.010 26.67 1.050 14.44 0.569 0 0 3.00 0.118 3x 0 0.80 0.031 2x 0 0.80 0.031 8x 0 2.00 0.079 12.60 0.496 11.22 0.442 6.29 0.248 1.37 0.054 0 0 pin #1
5 figure 5. distance from lens reference plane to tracking surface (z) note: dimensions in mm/inches important note: pin 1 of sensor should be located nearest to the led figure 4. 2d assembly drawing of sensor (top and side view) object surface lens reference plane sensor lens 2.40 0.094 z = led cli p led len s s en sor p cb alignment pos t ( op ti o nal) ba s e p late navigati o n s u r face c ross s ecti o n s ideview 1 0. 5 9 0.4 17 2.40 0.094 7 .4 5 0.29 3 t op p cb t o s u r face b o tt o m of len s flange t o s u r face p in #1 33 .4 5 1 . 317 13 . 1 0 0. 516 b t op view ba s e p late b
6 pcb assembly considerations 1. insert the sensor and all other electrical components into pcb. 2. insert the led into the assembly clip and bend the leads 90 degrees. 3. insert the led clip assembly into pcb. 4. this sensor package is only qualifi ed for wave-solder process. 5. wave solder the entire assembly in a no-wash solder process utilizing solder fi xture. the solder fi xture is needed to protect the sensor during the solder process. it also sets the correct sensor-to-pcb distance as the lead shoulders do not normally rest on the pcb surface. the fi xture should be designed to expose the sensor leads to solder while shielding the optical aperture from direct solder contact. 6. place the lens onto the base plate. 7. remove the protective kapton tape from optical aperture of the sensor. care must be taken to keep contaminants from entering the aperture. recommend not to place the pcb facing up during the entire mouse assembly process. recommend to hold the pcb fi rst vertically for the kapton removal process. 8. insert pcb assembly over the lens onto the base plate aligning post to retain pcb assembly. the sensor aperture ring should self-align to the lens. 9. the optical position reference for the pcb is set by the base plate and lens. note that the pcb motion due to button presses must be minimized to maintain optical alignment. 10. install mouse top case. there must be a feature in the top case to press down onto the pcb assembly to ensure all components are interlocked to the correct vertical height. important note: p-bin led or better is recommended. figure 6. exploded view of assembly cu s t o m er s uppli e d base pl a t e with reco mm e nd e d a lignm e nt fea tu res p er ige s d ra wing t r im l e n s cu s t o m er s uppli e d p cb se n sor clip led
7 figure 7. block diagram of optical mouse z a i mag e pro c essor z wheel power o n reset v o l t a g e r e g u l a t o r xy_le d le d d rive os c ill a tor le d d ? d + u s b port 5 volt power bu tto n s c o n trol and i/o pro c essor v dda5 gnd sw design considerations for improving esd performance the table below shows typical values assuming base plate construction per the avago technologies supplied iges fi le trim lens. stand-off of the base plate shall not be larger than 5 mm. typical value distance (mm) creepage 17.9 mm clearance 9.2 mm note that the lens material is polycarbonate or polysty- rene hh30, therefore, cyanoacrylate based adhesives should not be used as they will cause lens material defor- mation
8 figure 8. application circuit with sensor midd le b utton r ig ht b utton left b utton 1 3 2 sw1 1 2 sw 3 v cc 1 2 3 4 5 h1 hwfl 2 mm 5 way u s b - u s b + vss sh i el d r w g b b v dd v cc 1 3 2 sw2 b l b r bm b uttons r8 22r r9 22r c 9 20 p f c 10 20 p f xy_le d 1 v dda5 2 z b 3 z a 4 sw 5 gnd 6 d - 7 d + 8 u 1 a 2 7 00 d5 hl m p-e g3 e v dd _le d rb i n refer to rb i n table r11 6 .8 k r10 1 5 k r 7 3 0 k v cc v dd v dd _le d 1 p 6 p ad 1 v cc volt ag e m e a s u re m e n t v dd 1 z b p ad 1 1 z a p ad 1 1 v dd p ad 1 c 2 10 f/ 5 0 v c5 4. 7 f/10 v c3 100 nf 1 p9 p ad 1 v cc gnd power b lo c k c o m 3 b 2 a 1 z1 z-e nc or d er z b z a 1 p1 z a z b 1 p2 1 p 3 v dd m e c h-z-enco d er u se o n ly 1% tolerance res i stor for buttons 1 1 try to sh i el d the hwel wi th a shiel d plane ( u s b pi n 5 ) s imi lar s i ze of hwfl before connect to gnd . isolate the sh i el d i slan d wi th gnd p lane 2 d ont use ju mp er wi re. u se res i stor to ju mp i nstea d . kee p the trace wid e. kee p ( pi n 5 ) a w ay fro m no i sy traces, gnd p lane an d po w er p lane. the 3 button trace for sw pi n nee d to be sa m e wid th, len g th. 1 2 table 1 rb i n value (oh m )le d bi n q r s t 5 9.0 ? 7 8. 7 5 9.0 ? 9 3 .1 5 9.0 ? 110.0 5 9.0 ? 14 3 .0
9 absolute maximum ratings parameter symbol minimum maximum units notes storage temperature t s -40 85 ? c operating temperature t a -15 55 ? c lead solder temperature 260 ? c for 10 seconds, 1.6 mm below seating plane. supply voltage v dda5 -0.5 5.5 v esd 2 kv all pins, human body model jesd22-a114 input voltage v in -0.5 v dda5 +0.5 v all i/o pins except d+, d- -1.0 4.6 v d+, d-, ac waveform, see usb specifi cation (7.1.1) input short circuit voltage v sc 0v dda5 v d+, d-, see usb specifi cation (7.1.1) recommended operating condition parameter symbol minimum typical maximum units notes operating temperature t a 040 ? c power supply voltage v dda5 4.25 5.0 5.25 v for accurate navigation and proper usb operation v ddm 4.0 5.0 5.25 v maintains communication to usb host and internal register contents. power supply rise time v rt 0.1 6 ms supply noise v n 100 mv peak to peak within 0-100 mhz bandwidth velocity vel 30 ips acceleration acc 8 g 0.5 g from rest serial port clock frequency f sclk 1 mhz 50% duty cycle distance from lens reference plane to surface z 2.3 2.4 2.5 mm see figure 9 light level onto ic irr inc 80 25000 mw/m 2 ? = 639 nm frame rate 2400 fps internally adjusted by sensor regulatory requirements ? passes fcc b and worldwide analogous emission limits when assembled into a mouse with shielded cable and following avago technologies recommendations. ? passes en61000-4-4/iec801-4 eft tests when assembled into a mouse with shielded cable and following avago technologies recommendations. ? ul fl ammability level ul94 v-0. ? provides suffi cient esd creepage/clearance distance to withstand discharge up to 8 kv when assembled into a mouse with trim lens according to usage instructions above. sensor lens z object surface figure 9. distance from lens reference plane to object surface
10 ac electrical specifi cations electrical characteristics over recommended operating conditions. typical values at 25 c, v dda5 = 5.0 v. parameter symbol minimum typical maximum units notes wakeup delay from rest mode due to motion t wupp 12ms power up delay t pup 50 ms debounce delay on button inputs t dbb 5 9 17 ms maximum specifi ed at 8 ms polling rate. scroll wheel sampling period t sw 150 200 300 ? s za pin transient supply current i ddt 60 ma max. supply current during a v dda5 ramp from 0 to 5.0 v with > 500 ? s rise time. does not include charging currents for bypass capacitors. usb electrical specifi cations electrical characteristics over recommended operating conditions. parameter symbol minimum maximum units notes output signal crossover voltage v crs 1.5 2.0 v c l = 200 to 600 pf (see figure 10) input signal crossover voltage v icrs 1.2 2.1 v c l = 200 to 600 pf (see figure 10) output high v oh 2.8 3.6 v with 15 k ? to ground and 7.5 k ? to v bus on d- (see figure 11) output low vol 0.0 0.3 v with 15 k ? to ground and 7.5 k ? to v bus on d- (see figure 11) single ended input v sei 0.8 v input high (driven) v ih 2.0 v input high (floating) v ihz 2.7 3.6 v input low v il 0.8 v 7.5 k ? to vdda5 diff erential input sensitivity v di 0.2 v |(d+)-(d-)| see figure 12 diff erential input common mode range v cm 0.8 2.5 v includes v di , see figure 12 single ended receiver threshold v se 0.8 2.0 v transceiver input capacitance c in 12 pf d+ to v bus , d- to v bus
11 usb timing specifi cations timing specifi cations over recommended operating conditions . parameter symbol minimum maximum units notes d+/d- transition rise time t lr 75 ns c l = 200 pf (10% to 90%), see figure 10 d+/d- transition rise time t lr 300 ns c l = 600 pf (10% to 90%), see figure 10 d+/d- transition fall time t lf 75 ns c l = 200 pf (90% to 10%), see figure 10 d+/d- transition fall time t lf 300 ns c l = 600 pf (90% to 10%), see figure 10 rise and fall time matching t lrfm 80 125 % t r /t f ; c l = 200 pf; excluding the fi rst transition from the idle state wakeup delay from usb suspend mode due to buttons push t wupb 17 ms delay from button push to usb operation only required if remote wakeup enabled wakeup delay from usb suspend mode due to buttons push until accurate navigation t wupn 50 ms delay from button push to navigation operation. only required if remote wakeup enabled usb reset time t reset 18.7 ? s data rate t ldrate 1.4775 1.5225 mb/s average bit rate, 1.5 mb/s +/- 1.5% receiver jitter tolerance t djr1 -75 75 ns to next transition, see figure 13 receiver jitter tolerance t djr2 -45 45 ns for paired transitions, see figure 13 diff erential to eop transition skew t ldeop -40 100 ns see figure 14 eop width at receiver t leopr 670 ns accepts eop, see figure 14 source eop width t leopt 1.25 1.50 ? s width of se0 interval during diff erential transition t lst 210 ns see figure 11. diff erential output jitter t udj1 -95 95 ns to next transition, see figure 15 diff erential output jitter t udj2 -150 150 for paired transitions, see figure 15 figure 10. data signal rise and fall times v c rs 10% 10% 90% 90% t lr r i se t im e t lf fall t im e v ol v oh d + d ?
12 figure 12. diff erential receiver input sensitivity vs. common mode input range figure 13. receiver jitter tolerance figure 11. data signal voltage levels v oh ( mi n) v ol ( m ax) one bi t t im e (1. 5 mb /s) gnd v ih ( mi n) v il ( m ax) mi n im al re?ectance an d r i n gi n g t lst -1.0 0.0 0.2 0.4 0. 6 0.8 1.0 1.2 1.4 1. 6 1.8 2.0 2.2 2.4 2. 6 2.8 3 .0 3 .2 4. 6 di ?erent i al in p ut volta g e ran g e di ?erent i al out p ut c rossover volta g e ran g e in p ut volta g e ran g e (volts) t d jr1 t d jr2 t d jr t perio d c onsecut i ve trans i t i ons n * t perio d + t d jr1 pa i re d trans i t i ons n * t perio d + t d jr2
13 figure 15. diff erential output jitter figure 14. diff erential to eop transition skew and eop width t perio d di ?erent i al d ata l i nes di ?erent i al d ata to se0 ske w n * t perio d + t l d eop c rossover po i nt c rossover po i nt exten d e d source eop w id th: t leopt rece i ver eop w id th: t leopr c onsecut i ve trans i t i ons n * t perio d + t ud j1 pa i re d trans i t i ons n * t perio d + t ud j2 t perio d di ?erent i al d ata l i nes
14 dc electrical specifi cations electrical characteristics over recommended operating conditions. typical values at 25 c, v dda5 = 5.0 v. parameter symbol minimum typical maximum units notes system current, mouse moving i dd5 35 50 ma includes xy_led current system current, mouse not moving i dd5n 15 30 ma includes xy_led current system current, usb suspend mode, remote wakeup enabled i dd5s 500 ? a includes xy_led current and d- pullup resistor. supply current (sensor only), mouse moving i dds 4.5 8 ma no load on sw, xy-led, za, zb, d+, d- supply current (sensor only), mouse not moving i ddsn 3.9 7.5 ma no load on sw, xy-led, za, zb, d+, d- sensor supply current, usb suspend mode i ddss 320 ? a no load on sw, xy-led, za, zb, d+,d- xy_led current i led 30 ma xy_led output low voltage v ol 1.1 v input low voltage v il 0.5 v pins: za, zb v il max of 0.5 v dc is at v dda5 min of 4 v dc , with a typical of 0.8 v dc at v dda5 of 5 v dc input high voltage v ih 0.6*v dda5 v pins: za, zb
15 one-time-programmable (otp) memory the on chip otp memory allows device confi guration fl ex- ibility to override the default setting of sensors without any external software driver. once the otp operation is enabled, all otp registers must be programmed accordingly as the default values of un-program otp registers are always zero when l1_use_otp register setting is not zero value. tips: otp write to the otp register can be skipped if the setting is zero value (0x00) in order to save the otp programming time. otp address space is from 0xdf to 0xe8. otp can be pro- grammed via usb interface using set vendor test and get vendor test commands. figure 16. otp byte write flow chart yes yes yes n o n o n o n o 0x 5 1: re ga _otp_ c o n fi g [0]=1 0x 5 2: re ga _otp_ add r[ 7 :0] 0x 53 : re ga _otp_ da t a [ 7 :0] 0x 5 4: re ga _otp_ c trl[0]=1 0x 5 4: re ga _otp_ c trl[0] 0x 5 8: re ga _otp_ c trlst a t[0] b i t = 0? b i t = 1? m ore bytes? d one rea d otp p ro g ra m b i t rea d ot p status b i t otp w r i te p ass re p eat = 1 wr i te otp a dd ress byte wr i te otp d ata byte wr i te otp p ro g ra m b i t start wr i te otp enable b i t re p eat = re p eat + 1 re p eat = 10? otp w r i te fa i l b a d c h ip otp byte write operation otp write operation fl ow chart is shown in figure 16. 1. set otp clock enable bit in otp_clock register, 0x42: otp_clock_en = 1. 2. set otp enable bit in otp_config register, 0x51: otp_ en = 1. 3. write the otp register address byte to otp_addr register, 0x52. 4. write the otp data byte to otp_data register, 0x53. 5. set write enable bit in otp_ctrl register, 0x54 to enable write command to otp: wr = 1. 6. read the write enable bit status in otp_ctrl register, 0x54. if wr = 1, repeat reading the bit status until it is clear. 7. read the write status bit in otp_ctrlstat register, 0x58. a. if wr_ok = 1, otp write operation is completed. repeat step 2 for more otp byte write operations. b. if wr_ok = 0, repeat step 5. 8. if step 6b is repeated up to 10 times, otp write operation is failed and the chip is confi rmed as defective unit.
16 figure 17. otp byte read flow chart figure 18. otp byte lock flow chart otp byte read operation otp read operation fl ow chart is shown in figure 17. 1. set otp clock enable bit in otp_clock register, 0x42: otp_clock_en = 1. 2. set otp enable bit in otp_config register, 0x51: otp_ en = 1. 3. write the otp register address byte to otp_addr register, 0x52. 4. set read enable bit in otp_ctrl register, 0x54 to enable write command to otp: rd = 1. 5. read the read enable bit status in otp_ctrl register, 0x54. if rd = 1, repeat reading the bit status until it is clear. read the otp data byte from otp_data register, 0x53 to complete the otp read operation. 6. read the otp data byte from otp_data register, 0x53 to complete the otp read operation. 7. repeat step 2 for more otp read operations 2. after otp write to otplock1 register, set otp enable bit in otp_config register, 0x51: otp_en = 1. 3. set otp lock bit in otp_ctrl register, 0x54 to enable otp lock command: lock_l1 = 1. 4. read the otp lock bit status in otp_ctrl register, 0x54. if lock_l1 = 1, repeat reading the bit status until it is clear. 5. read the lock status and crc bits in otp_ctrlstat register, 0x58. a. if both l1_lock_ok and l1_crc_ok = 1, otp lock operation is completed. b. if either l1_lock_ok or l1_crc_ok = 0, repeat step 2 until both bits are set. 6. if step 4b is repeated up to 10 times, otp lock operation is failed and the chip is confi rmed as defective unit. 7. read the crc result stored in register 0xe9, 0xea, 0xeb, 0xec, if four register values not 0x00 means crc has been generated correctly and verifi ed as lock operation success. yes yes n o n o 0x 5 1: re ga _otp_ c o n fi g [0]=1 0x 5 2: re ga _otp_ add r[ 7 :0] 0x 5 4: re ga _otp_ c trl[1]=1 0x 5 4: re ga _otp_ c trl[1] 0x 53 : re ga _otp_ da t a [ 7 :0] b i t = 0? m ore bytes? d one rea d otp p ro g ra m b i t rea d otp d ata otp rea d d one wr i te otp a dd r byte wr i te otp rea d b i te start wr i te otp enable b i t y es y es y es n o 0 x51 : r ega_ o t p _c o nfig[ 0 ]=1 0 x5 4: r ega_ o t p _ct r l[3]=1 0 x5 4: r ega_ o t p _ct r l[3] 0 x5 8: r ega_ o t p _ct r l s tat[ 4 ] 0 x5 8: r ega_ o t p _ct r l s tat[5] b it = 0? l oc k & crc = 1 ? more l oc k ? rea d o t p l oc k b it rea d l oc k s t a tu s b it rea d c r c s t a tu s b it o t p l oc k re p ea t = 1 w r it e o t p l oc k b it s t ar t w r it e o t p e n ab l e b it n o n o y es re p ea t = re p ea t + 1 re p ea t = 1 0? o t p w r it e fa il b a d chip w a it for 1 0ms y es c r c c orrec t ? d o n e c om p are c r c 3 2 b it c r c res ult s s t ore d in re gi s t er 0 xe 9 0 xea 0 xeb 0 xec n o otp lock operation otp lock operation must be performed once otp write to otplock1 register for the sensor to function. do not reset or power up the chip right after otp write to otplock1 register, otherwise the chip will be malfunction. the otp lock operation fl ow chart is shown in figure 18. 1. set otp clock enable bit in otp_clock register, 0x42: otp_clock_en = 1
17 buttons the minimum time between button pressed is t dbb. the button connection is described in figure 19 r 7 3 0 k r10 1 5 k r11 6 .8 k b l b r bm sw p i n n ote: u se only 1% tolerance res i stors figure 19. button connections debounce algorithm ?? button inputs b1, b2, and b3 are sampled every 6ms. ?? two consecutive low values create a button press event. ?? three consecutive high values create a button release event. confi guration after power up (data values) signal function state from figure 9-1 of usb spec: powered or default address or confi gured state from figure 9-1 of usb spec: suspended from any other state sw output voltage at 1.16 v (typ) output voltage at 2.7 v (typ) d- usb i/o hi-z input d+ usb i/o hi-z input xy_led always on / pulsing pulled high (off) zb hi-z input output high za hi-z input output high typical performance characteristics performance characteristics over recommended operating conditions. typical values at 25 c, v dd = 5.0 v, 24 mhz parameter symbol minimum typical maximum units notes path error (deviation) p error 0.5 % average path error as percent of total 2.5 travel on various standard surfaces the following graphs are the typical performance of the sensor, assembled as shown in the 2d assembly drawing with trim lens, clip, and led.
18 figure 20. typical resolution vs. z height figure 21. mean shutter vs z height over white paper notes: 1. the sensor is designed for optimal performance when used with the specifi ed led. 2. z = distance from lens reference plane to surface. reso luti o n v s z -h e ight o n s t a nd ar d s u rfaces 0 200 400 6 00 800 1 000 1 200 1 .8 1 .9 2.0 2. 1 2.2 2. 3 2.4 2. 5 2. 6 2. 7 2.8 2.9 3 .0 3 . 13 .2 di s t a n ce fro m l e n s refere n ce p l a n e t o s u rface, z (mm) reso luti o n (d p i) whit e f or mi ca m a nil a bl ac k f or mi ca whit e pa p er s p r u ce /whit e p in e m ea n s hutt er v s z (whit e p a p er ) 0 5 0 1 00 1 . 61 .8 2.0 2.2 2.4 2. 6 2.8 3 .0 3 .2 3 .4 di s t a n ce fro m l e n s refere n ce p l a n e t o s u rface, z (mm) s hutt er v a lu e (c o unt) avg-3 s igm a avg avg+3 s igm a
19 usb commands mnemonic command notes usb_reset d+/d- low > 18.7 ? s device resets; address=0 usb_suspend idle state > 3 ms device enters usb low-power mode usb_resume non-idle state device exits usb low-power mode get_status_device 80 00 00 00 00 00 02 00 normally returns 00 00, self powered 00 00, remote wakeup 02 00 get_status_interface 81 00 00 00 00 00 02 00 normally returns 00 00 get_status_endpt0 82 00 00 00 xx 00 02 00 out: xx=00, in: xx=80 normally returns 00 00 get_status_endpt1 82 00 00 00 81 00 02 00 normally returns 00 00, halt 00 01 get_confi guration 80 08 00 00 00 00 01 00 return: 00=not confi g., 01=confi gured get_interface 81 0a 00 00 00 00 01 00 normally returns 00 get_protocol a1 03 00 00 00 00 01 00 normally returns 01, boot protocol 00 get_desc_device 80 06 00 01 00 00 nn 00 see usb command details get_desc_confi g 80 06 00 02 00 00 nn 00 see usb command details get_desc_string 80 06 xx 03 00 00 nn 00 see usb command details get_desc_hid 81 06 00 21 00 00 09 00 see usb command details get_desc_hid_report 81 06 00 22 00 00 nn 00 see usb command details get_hid_input a1 01 00 01 00 00 nn 00 return depends on motion & confi g get_idle a1 02 00 00 00 00 01 00 returns rate in multiples of 4 ms get_vendor_test c0 01 00 00 xx 00 01 00 read register xx set_address 00 05 xx 00 00 00 00 00 xx = address set_confi guration 00 09 xx 00 00 00 00 00 not confi gured: xx=00 confi gured: xx=01 set_interface 01 0b 00 00 00 00 00 00 only one interface supported set_protocol 21 0b xx 00 00 00 00 00 boot: xx=00, report: xx=01 set_feature_device 00 03 01 00 00 00 00 00 enable remote wakeup set_feature_endpt0 02 03 00 00 xx 00 00 00 halt. out: xx=00, in: xx=80 set_feature_endpt1 02 03 00 00 81 00 00 00 halt clear_feature_device 00 01 01 00 00 00 00 00 disable remote wakeup clear_feature_endpt0 02 01 00 00 xx 00 00 00 clear halt; out: xx=00, in: xx=80 clear_feature_endpt1 02 01 00 00 81 00 00 00 clear halt set_idle 21 0a 00 rr 00 00 00 00 rr = report rate in multiples of 4 ms set_vendor_test 40 01 00 00 xx yy 00 00 write yy to address xx poll_endpt1 read buttons, motion, & z-wheel note: the last two bytes in a command shown as nn 00 specify the 16-bit data size in the order of lowbyte highbyte. for example a two-byte data size would be specifi ed as 02 00. the sensor will not provide more bytes than the number requested in the command, but it will only supply up to a maximum of 8 bytes at a time. the sensor will re-send the last packet if the transfer is not acknowledged properly.
20 usb command details usb_reset usb spec: notes: d+/d- low for an extended period a device may reset after seeing an se0 for more than 18.7 us, and defi nitely after 10 ms. after power up and prior to reset, the device will not respond to any usb commands. after the device has been given a usb reset, the devices address will be reset to zero and the device will be in the default state. the chip will default to report protocol and any pending output will be fl ushed. all registers will be reset to a state that matches power-on-reset with the following exceptions: usb state register will be default instead of attached. usb_suspend usb spec: notes: idle state for an extended period a device may suspend after seeing an idle for more than 3 ms, and defi nitely after 10 ms. the chip will take a minimum of 5 ms to start suspend, though will defi nitely start after 6 ms. the chip may fi nish the current frame if necessary before stopping the clock. thus, an additional frame time may be used to reach suspend mode. usb_resume usb spec: notes: non-idle state remote resume signalling from a device must be between 1 ms and 15 ms. the host is required to send resume signaling for 20 ms plus 10 ms of resume recovery time in which it does not access any devices. this allows devices enough time to wake back up. the chip can cause a resume if remote wakeup is enabled and a button has been pressed. remote resume signalling from the chip will last 11.45 ms to 12.45 ms. get_status_device returns: default: addressed: confi gured: notes: 80 00 00 00 00 00 02 00 xx yy xx[0] = self powered xx[1] = remote wakeup xx[7:2] = 0 yy = 00 (reserved) accept (undefi ned in usb spec) accept accept use set_feature_device/clear_feature_device to set/clear remote wakeup. get_status_interface returns: default: addressed: confi gured: notes: 81 00 00 00 00 00 02 00 00 00 stall (undefi ned in usb spec) stall accept both return bytes are reserved and currently 00.
21 get_status_endpt0 returns: default: addressed: confi gured: notes: 82 00 00 00 xx 00 02 00 82 00 00 00 00 00 02 00 82 00 00 00 80 00 02 00 xx = 00 = endpt0 out xx = 80 = endpt0 in xx yy xx[0] = halt xx[7:1] = 0 yy = 00 (reserved) accept (undefi ned in usb spec) accept accept use set_feature_endpt0/clear_feature_endpt0 to (try to) set/clear halt bit. according to usb, it is neither required or recommended that the halt feature be implemented for the default control pipe. since a new setup command will clear any endpt0 halt bit, it is impossible to tell if there really is a halt bit. get_status_endpt1 returns: default: addressed: confi gured: notes: 82 00 00 00 81 00 02 00 xx yy xx[0] = halt xx[7:1] = 0 yy = 00 (reserved) stall (undefi ned in usb spec) stall accept use set_feature_endpt1/clear_feature_endpt1 to set/clear halt bit. get_confi guration returns: default: addressed: confi gured: notes: 80 08 00 00 00 00 01 00 xx xx = confi g value accept (undefi ned in usb spec) C returns 00 accept C returns 00 accept C returns 01 use set_confi guration to change. get_interface returns: default: addressed: confi gured: notes: 81 0a 00 00 00 00 01 00 00 stall (undefi ned in usb spec) stall accept C returns 00 command has no alternate interfaces, so only valid value is 00
22 get_protocol returns: default: addressed: confi gured: notes: a1 03 00 00 00 00 01 00 xx xx = 00 = boot protocol xx = 01 = report protocol accept accept accept defaults to report protocol after usb reset. use set_protocol to change. get_desc_device returns: example: example for multi-button: default: addressed: confi gured: 80 06 00 01 00 00 nn 00 80 06 00 01 00 00 12 00 12 01 00 02 00 00 00 08 vv vv pp pp dd dd mm pp ss 01 vv vv = vendor id pp pp = product id (vendor specifi ed) dd dd = device id (vendor specifi ed) (bcd rev_id byte) mm = imanufacturer pp = iproduct ss = iserialnumber (00 C no string) 12 01 00 02 00 00 00 08 6d 04 pp pp 00 54 01 02 00 01 // device descriptor | 12 // blength (18 decimal) | 01 // bdescriptortype | 00 // bcdusb (release ##.## = 02.00) | 02 | 00 // bdeviceclass | 00 // bdevicesubclass | 00 // bdeviceprotocol | 08 // bmaxpacketsize0 | 2f // idvendor | 19 // idvendor | 16 // idproduct // based on #buttons & wheel | 09 // idproduct | 00 // bcddevice (dev rel 54.00) | 54 | 00 // imanufacturer | 02 // iproduct | 00 // iserialnumber | 01 // bnumconfi gurations accept accept accept get_desc_string will return stall if manufac turer string is queried when imanufacturer = 0x00.
23 get_desc_confi g returns: default: addressed: confi gured: notes: 80 06 00 02 00 00 nn 00 80 06 00 02 00 00 22 00 09 02 22 00 01 01 00 a0 32 09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 rr 00 07 05 81 03 05 00 0a rr = hid report descriptor length 47 = 12 bit motion reporting accept accept accept this is the concatenation of 4 descriptors: confi guration interface hid endpt get_desc_string command option: returns: for xx = 00: for xx = 01: 80 06 xx 03 00 00 nnl nnh xx= 00 language string 01 manufacturer string 02 product string xx= 00 => language string 01 => manufacturer string 02 => product string nnl nnh = varies with the string length ss 03 unicode string ss = string descriptor length 04 03 09 04 // language id default: stall product string (xx=02) product string returns usb optical mouse 24 03 55 00 53 00 42 00 20 00 4f 00 70 00 74 00 69 00 63 00 61 00 6c 00 20 00 4d 00 6f 00 75 00 73 00 65 00 synopsys cmd: no default: accept addressed: accept confi gured: accept notes: 1. a request for any other string will stall. 2. returned string depends on the manufacturer string section via otp.
24 get_desc_hid returns: 81 06 00 21 00 00 09 00 09 21 11 01 00 01 22 rr 00 rr = hid report descriptor length 40 = 12bit reporting get_desc_hid_report returns: 12 bit reporting: default: addressed: confi gured: notes: 81 06 00 22 00 00 nn 00 this returns a report descriptor that describes how many buttons and x, y, z data. 05 01 09 02 a1 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 75 01 95 03 81 02 75 05 95 01 81 01 05 01 09 30 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 c0 c0 // hid report | 05 01 // usage_page (generic desktop) | 09 02 // usage (mouse) | a1 01 // collection (application) | 09 01 // usage (pointer) | a1 00 // collection (physical) | 05 09 // usage_page (button) | 19 01 // usage_minimum (button 1) | 29 03 // usage_maximum (button #3) | 15 00 // logical_minimum (0) | 25 01 // logical_maximum (1) | 75 01 // report_size (1) | 95 03 // report_count (3) | 81 02 // input (data,var,abs) | 75 05 // usage page | 95 01 // report count(1) | 81 01 // input (cnst,arr,abs) | 05 01 // usage page (generic desktop) | 09 30 // usage (x) | 09 31 // usage (y) | 16 01 f8 // logical minimum (-127) | 26 ff 07 // logical maxumun (128) | 75 0c // report_size (12) | 95 02 // report_count (2) | 81 06 // input (data,var,rel) | 09 38 // usage (zwheel) | 15 81 // logical minimum(-127) | 25 7f // logical maximum(127) | 75 08 // report_size(8) | 95 01 // report_count(1) | 81 06 // input(data,var,rel) | c0 // end_collection | c0 // end_collection accept accept accept the length of this report is needed in the hid descriptor.
25 get_hid_input returns: default: addressed: confi gured: notes: a1 01 00 01 00 00 nn 00 nn = 06 (12 bit reporting) bb xx yx yy zz bb = button byte xx = x motion byte yx = xy motion byte yy = y motion byte zz = z motion byte stall stall accept if the device is confi gured, it will always respond with a report for this command, even if no motion or button changes have occurred. in this case, it would report 00 for motion and simply report the current button state. if a report is pending on endpt1, the data there will be reported and the report on endpt1 cleared. the mouse will only create new button/motion packets when it is in the confi gured state usb data packet format bit 76543210 byte 1 00000 b3(mb) b2(rb) b1(lb) byte 2 x7 x6 x5 x4 x3 x2 x1 x0 byte 3 y3 y2 y1 y0 x11 x10 x9 x8 byte 4 y11 y10 y9 y8 y7 x6 x5 x4 byte 5 z7 z6 z5 z4 z3 z2 z1 z0 byte 6 00000000 get_idle returns: default: addressed: confi gured: notes: a1 02 00 00 00 00 01 00 rr rr = rate in multiples of 4 ms accept accept accept the third byte of the command is to select the report id. there is only one for the mouse C so, using 00 or 01 will work. see also set_idle. get_vendor_test returns: default: addressed: confi gured: notes: c0 01 00 00 xx 00 01 00 ii = ignore xx = address of register to read rr (depends on register read) accept accept accept address range (xx) is datasheet register range
26 set_address default: addressed: confi gured: notes: 00 05 xx 00 00 00 00 00 xx = new device address, from 00 to 7f accept accept accept (undefi ned in usb spec) chip gets new address, but stays in confi gured mode. if device is not confi gured, the device will be given the new address and put in the addressed state (or default if new address = 00). if the device is already confi gured, the device will be given the new address state and remain confi gured. set_confi guration default: addressed: confi gured: notes: 00 09 xx 00 00 00 00 00 xx = 00 = not confi gured xx = 01 = confi gured accept (undefi ned in usb spec) accept accept invalid confi g values will cause stall. chip will stall invalid value in confi gured mode, and leave device in old (confi gured) mode. set_interface default: addressed: confi gured: notes: 01 0b 00 00 00 00 00 00 stall (undefi ned in usb spec) stall accept mouse has only one valid interface (00) and alternate setting (00). invalid values will cause stall. chip retains previous (valid) interface state after executing this command in confi gured mode even if invalid values are given and command was stalled. set_protocol default: addressed: confi gured: notes: 21 0b xx 00 00 00 00 00 xx = 00 = boot protocol xx = 01 = report protocol accept (not in usb spec) accept (not in usb spec) accept 3 byte data packets will be reported in boot mode. these bytes are button, xx data, and yy data. set_feature_device default: addressed: confi gured: notes: 00 03 01 00 00 00 00 00 accept (undefi ned in usb spec) accept accept this sets the remote wakeup bit. set_feature_endpt0 default: addressed: confi gured: notes: 02 03 00 00 xx 00 00 00 02 03 00 00 00 00 00 00 02 03 00 00 80 00 00 00 xx = 00 = endpt0 out xx = 80 = endpt0 in stall (undefi ned in usb spec) stall stall this (tries to) sets the halt bit. the chip always stalls the status stage for this command. the chip never reports the halt bit set for endpt0 with the get_status_endpt0 command, as any new setup command will clear endpt0 stall.
27 set_feature_endpt1 default: addressed: confi gured: notes: 02 03 00 00 81 00 00 00 stall (undefi ned in usb spec) stall accept sets the halt bit for endpt1. clear_feature_device default: addressed: confi gured: notes: 00 01 01 00 00 00 00 00 accept (undefi ned in usb spec) accept accept this clears the remote wakeup bit. clear_feature_endpt0 default: addressed: confi gured: notes: 02 01 00 00 xx 00 00 00 02 01 00 00 00 00 00 00 02 01 00 00 80 00 00 00 xx = 00 = endpt0 out xx = 80 = endpt0 in accept (undefi ned in usb spec) accept accept the chip does not stall like it does for set_feature_endpt0. clear_feature_endpt1 default: addressed: confi gured: notes: 02 01 00 00 81 00 00 00 stall (undefi ned in usb spec) stall accept see set_feature_endpt1. set_idle default: addressed: confi gured: notes: 21 0a 00 rr 00 00 00 00 rr = rate in multiples of 4 ms accept accept accept the third byte of the command is to select the report id. there is only one for the mouse C so, using either 00 or 01 will work. the fourth byte of the command sets the rate in multiples of 4 ms. the initial value for mice will be x00 which means infi nite C that is packets only come out when there is a change in data. data will only be allowed to come out when the device is confi gured. however, the chip will accept the command in default or addressed mode and use that value when the device is later confi gured. set_vendor_test default: addressed: confi gured: notes: 40 01 00 00 xx yy 00 00 xx = address yy = data accept accept accept address range for xx should be 0x00 to 0x3f. addresses above this are reserved for possible future use. see also get_vendor_test.
28 poll_endpt1 returns: default: addressed: confi gured: notes: bb xx yx yy zz bb = button byte xx = x motion byte yx = xy motion byte yy = y motion byte zz = z motion byte (if z-wheel) ignore request ignore request accept (nak if no data; send packet if available) see also get_hid_input. endpt will only stall if halt bit is set by set_feature_endpt1. details of data packet are below. endpt1 should be polled at least every 10 frames (ms). it is typically polled every 8 frames on windows machines. for internal testing, endpt1 can be continuously polled if desired. the chip will not generate any report packets unless in the confi gured state. if endpt1 is currently empty, any motion or button change will be loaded into the endpt1 buff ers. once the endpt1 buff ers are full, any further motion events will get accumulated. when the endpt1 buff ers are later polled and emptied, the current accumulated x/y/z values will be loaded into the endpt1 buff ers. after transferring their data, the accumulation registers are reset so they are ready to start ac- cumulating new motion events. button information is handled a bit diff erently. if the endpt1 buff ers are empty, and a button change event occurs, the new button state is put into the endpt1 buff ers. at the same time, the button state that is put in endpt1 is copied for later use. w hile endpt1 is full, changes in button state are essentially ignored. when endpt1 is emptied, if the current button state is diff erent than that which was last loaded into endpt1, then the new state will be loaded and a new copy saved. basically, the button state that is loaded into endpt1 is always the current button state at that point in time. it should also be noted that there is hardware on the chip to help de-bounce the buttons. special note on wlength: the wlength paramater in commands specifi es the maximum number of bytes a device should send back. the commands listed below are not able to handle a wlength of 0 correctly. get_status_device get_status_interface get_status_endpt0 get_status_endpt1 get_confi guration get_interface this chip will send one byte of data rather than none when wlength = 0 is requested for the above commands.
29 registers the sensor can be programmed through registers, via the usb port, and confi guration and motion data can be read from these registers. the registers will be disabled by v dda5 going low or sending a usb reset command. address register name register type access reset value 0x00 prod_id device read only 0x2b 0x01 rev_id device read only 0x01 0x02 mouse_stat device read only undefi ned 0x03 delta_x_l device read only 0x00 0x04 delta_y_l device read only 0x00 0x05 delta_xy_h device read only 0x00 0x06 dz device read only 0x00 0x07 squal device read only 0x00 0x08 shut_hi device read only 0x00 0x09 shut_lo device read only 0x32 0x0a pix_max device read only 0x00 0x0b pix_accum device read only 0x00 0x0c pix_min device read only 0x00 0x0d pix_grab device read only 0x00 0x40 inv_rev_id device read only 0xfe 0x42 otp_clock device read/write 0x00 0x51 otp_config device read/write 0x00 0x52 otp_addr device read/write 0x00 0x53 otp_data device read/write 0x00 0x54 otp_ctrl device read/write 0x00 0x56 otp_runstat device read only undefi ned 0x58 otp_ctrlstat device read only undefi ned 0xdf l1_use_otp otp read/write 0x00 0xe0 dpi otp read/write 0x04 0xe2 : 0xe3 pid1 : pid0 otp read/write 0x0916 0xe4 : 0xe5 vid1 : vid0 otp read/write 0x192f 0xe8 otplock1 otp read/write 0x00
30 prod_id address: 0x00 type: device access: read only reset value: 0x2b bit76543210 field pid 7 pid 6 pid 5 pid 4 pid 3 pid 2 pid 1 pid 0 data type: 8-bit number with the product identifi er. usage: the value in this register does not change; it can be used to verify that the sensor communications link is ok. rev_id address: 0x01 type: device access: read only reset value: 0x01 bit76543210 field rid 7 rid 6 rid 5 rid 4 rid 3 rid 2 rid 1 rid 0 data type: 8-bit number with current revision of the ic. usage: this register contains the ic revision. it is subject to change when new ic versions are released. but_stat address: 0x02 type: device access: read only reset value: undefi ned bit7 6543210 field reserved reserved reserved reserved reserved but 3 but 2 but 1 data type: bit fi eld. usage: this register is included for test purposes only . for navigation use, use the usb hid defi ned commands. the button status bits reported are for the debounce signals. field name description but 3 reports the status of b3 0 = open 1 = button pressed but 2 reports the status of b2 0 = open 1 = button pressed but 1 reports the status of b1 0 = open 1 = button pressed
31 delta_x_l address: 0x03 access: read reset value: 0x00 bit76543210 field x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 data type: bit fi eld. usage: the value in this register refl ects the last usb delta x (lower 8 bits) data output or data queued for output. this register is included for test purposes only . for navigation use, use the hid defi ned commands. data is 2s complement. absolute value is determined by the currently set resolution. register 0x03 must be read before register 0x04 (delta_y_l) and 0x05 (delta_xy_h) delta_y_l address: 0x04 access: read reset value: 0x00 bit76543210 field y 7 y 6 y 5 y 4 y 3 y 2 y 1 y 0 data type: bit fi eld. usage: the value in this register refl ects the last usb delta y (lower 8 bits) data output or data queued for output. this register is included for test purposes only . register 0x03 should be read before register 0x04 (delta_y_l) and 0x05 (delta_xy_h), else delta_y_l will return 0. for navigation use, use the hid defi ned commands. data is 2s complement. absolute value is determined by the currently set resolution. delta_xy_h address: 0x05 access: read reset value: 0x00 bit76543210 field x 11 x 10 x 9 x 8 y 11 y 10 y 9 y 8 data type: bit fi eld. usage: the value in this register refl ects the last usb delta x and y (upper 4 bits) data output or data queued for output. this register is included for test purposes only . register 0x03 should be read before register 0x04 (delta_y_l) and 0x05 (delta_xy_h), else delta_xy_h will return 0. for navigation use, use the hid defi ned commands. data is 2s complement. absolute value is determined by the currently set resolution. dz address: 0x06 access: read reset value: 0x00 bit76543210 field z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 data type: bit fi eld. usage: this register contains the z-wheel count. range is from -127 to 127 decimal.
32 squal address: 0x07 access: read reset value: 0x00 bit76543210 field sq 7 sq 6 sq 5 sq 4 sq 3 sq 2 sq 1 sq 0 data type: eight bit number. usage: squal is a measure of the number of features visible by the sensor in the current frame. the maximum value is 128. since small changes in the current frame can result in changes in squal, slight variations in squal on one surface is expected. shut_hi address: 0x08 type: device access: read only reset value: 0x00 bit76543210 field s 15 s 14 s 13 s 12 s 11 s 10 s 9 s 8 shut_lo address: 0x09 type: device access: read only reset value: 0x64 bit76543210 field s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 data type: 16-bit number. usage: the combination of shut_hi and shut_lo is a 16-bit number. this is the number of clocks the shutter was open for the last image taken. the unit is in main clock count (nominally 12mhz). to avoid split read issues, read shut_hi fi rst. pix_max address: 0x0a type: device access: read only reset value: 0x00 bit76543210 field 0 mx 6 mx 5 mx 4 mx 3 mx 2 mx 1 mx 0 data type: eight bit number. usage: this is the maximum pixel value from the last image taken.
33 pix_accum address: 0x0b type: device access: read only reset value: 0x00 bit76543210 field ac 7 ac 6 ac 5 ac 4 ac 3 ac 2 ac 1 ac 0 data type: high 8bits of 17-bit unsigned integer. usage: this is the accumulated pixel value from the last image taken. for the 19x19 pixels, only the 8 most prominent bits are reported ([15:8]). to get the true average pixel value, divide this register value by 1.41. pix_min address: 0x0c type: device access: read only reset value: 0x00 bit76543210 field 0 mn 6 mn 5 mn 4 mn 3 mn 2 mn 1 mn 0 data type: 8-bit number. usage: this is the minimum pixel value from the last image taken.
34 342 323 304 285 266 247 228 209 190 171 152 133 114 95 76 57 38 19 0 343 324 305 286 267 248 229 210 191 172 153 134 115 96 77 58 39 20 1 344 325 306 287 268 249 230 211 192 173 154 135 116 97 78 59 40 21 2 345 326 307 288 269 250 231 212 193 174 155 136 117 98 79 60 41 22 3 346 327 308 289 270 251 232 213 194 175 156 137 118 99 80 61 42 23 4 347 328 309 290 271 252 233 214 195 176 157 138 119 100 81 62 43 24 5 348 329 310 291 272 253 234 215 196 177 158 139 120 101 82 63 44 25 6 349 330 311 292 273 254 235 216 197 178 159 140 121 102 83 64 45 26 7 350 331 312 293 274 255 236 217 198 179 160 141 122 103 84 65 46 27 8 351 332 313 294 275 256 237 218 199 180 161 142 123 104 85 66 47 28 9 352 333 314 295 276 257 238 219 200 181 162 143 124 105 86 67 48 29 10 353 334 315 296 277 258 239 220 201 182 163 144 125 106 87 68 49 30 11 354 335 316 297 278 259 240 221 202 183 164 145 126 107 88 69 50 31 12 355 336 317 298 279 260 241 222 203 184 165 146 127 108 89 70 51 32 13 356 337 318 299 280 261 242 223 204 185 166 147 128 109 90 71 52 33 14 357 338 319 300 281 262 243 224 205 186 167 148 129 110 91 72 53 34 15 358 339 320 301 282 263 244 225 206 187 168 149 130 111 92 73 54 35 16 359 340 321 302 283 264 245 226 207 188 169 150 131 112 93 74 55 36 17 360 341 322 303 284 265 246 227 208 189 170 151 132 113 94 75 56 37 18 pix_grab address: 0x0d type: device access: read/write reset value: 0x00 bit76543210 field valid pg 6 pg 5 pg 4 pg 3 pg 2 pg 1 pg 0 data type: 8-bit number. usage: the pixel grabber captures 1 pixel per frame. if there is a valid pixel in the grabber when this is read, the msb will be set, an internal counter will incremented to captured the next pixel and the grabber will be armed to capture the next pixel. it will take 361 reads to upload the completed image. any write to this register will reset and arm the grabber to grab pixel 0 on the next image. see pixel array numbering in figure 20. figure 20. pixel map. sensor looking at the navigation surface through the lens from top of mouse. inv_rev_id address: 0x40 access: read reset value: 0xfe bit76543210 field rrid 7 rrid 6 rrid 5 rrid 4 rrid 3 rrid 2 rrid 1 rrid 0 data type: eight bit number. usage: contains the inverse of the revision id which is located in register 0x01. r b lb t o p x ray vi e w of m o u se pos itive x p o s i t i v e y 1 2 3 4 5 6 7 8
35 otp_config address: 0x51 type: device access: read/write reset value: 0x00 bit7 6543210 field reserved reserved reserved reserved reserved reserved reserved otp_en data type: bit fi eld. usage: otp commands enable/disable. refer to otp programming section. field name description otp_en otp commands 1 = enabled 0 = disabled otp_addr address: 0x52 type: device access: read/write reset value: 0x00 bit76543210 field otp_ addr 7 otp_ addr 6 otp_ addr 5 otp_ addr 4 otp_ addr 3 otp_ addr 2 otp_ addr 1 otp_ addr 0 data type: 8-bit number. usage: this register is the container of otp address in otp read/write command. refer to otp programming section. otp_data address: 0x53 type: device access: read/write reset value: 0x00 bit76543210 field otp_ data 7 otp_ data 6 otp_ data 5 otp_ data 4 otp_ data 3 otp_ data 2 otp_ data 1 otp_ data 0 data type: 8-bit number. usage: this register is the container of otp data value in otp read/write command. refer to otp programming section.
36 otp_crtl address: 0x54 type: device access: read/write reset value: 0x00 bit7 6543210 field reserved reserved reserved reserved lock_l1 reserved rd wr data type: bit fi eld. usage: this register controls the read, write and lock commands of otp. the commands are auto clear for status check. refer to otp programming section. field name description wr enable write command to otp 1 = write to otp 0 = write command is completed rd enable read command to otp 1 = read from otp 0 = data is ready to be read from otp_data register lock_l1 enable otp lock command 1 = lock otp space 0 = lock command is completed otp_runstat address: 0x56 type: device access: read only reset value: undefi ned bit7 6543210 field reserved reserved reserved reserved reserved l1_ checked l1_ locked l1_used data type: bit fi eld. usage: this register shows the otp run status. refer to otp programming section. field name description l1_used otp space status 1 = used 0 = unused l1_locked otp space locking status 1 = locked 0 = open l1_checked otp status check 1 = checked 0 = unchecked
37 otp_ctrlstat address: 0x58 type: device access: read only reset value: undefi ned bit7 6543210 field reserved reserved l1_crc_ ok l1_lock_ ok device_ done device_ rdy wr_ denied wr_ok data type: bit fi eld. usage: this register shows the otp control status. refer to otp programming section. field name description wr_ok otp write status 1 = ok 0 = failed wr_denied otp write access status 1 = denied 0 = ok l1_lock_ok otp lock status 1 = ok 0 = failed l1_crc_ok crc test status 1 = ok 0 = failed l1_use_otp address: 0xdf type: otp access: read/write reset value: 0x00 bit7 6543210 field l1_use_ otp 7 l1_use_ otp 6 l1_use_ otp 5 l1_use_ otp 4 l1_use_ otp 3 l1_use_ otp 2 l1_use_ otp 1 l1_use_ otp 0 data type: 8-bit fi eld. usage: bypass otp confi guration if all bits are zero. must write non-zer o value to this register to enable otp operation. once enabled, all otp registers must be written as the default values are zero value.
38 a2700 xyywwze a2700 xyywwze a2700 xyywwze a2700 xyywwze dpi address: 0xe0 type: otp access: read/write reset value: 0x54 bit7 6543210 field reserved swapxy inv_x inv_y reserved dpi 2 dpi 1 dpi 0 data type: bit fi eld. usage: these registers are used to customize the devices dpi. field name description swapxy to swap x and y 0 = no swap 1 = swap inv_x to invert x direction 0 = not inverted 1 = inverted inv_y to invert y direction 0 = not inverted 1 = inverted dpi device status 010 = 500 dpi 011 = 750 dpi 100 = 1000 dpi (default) 101 = 1250 dpi note: sensor orientation setting by changing bit 6,5 and 4. t he swapxy operation is always performed before inv_x and inv_y inversion operations. rotation 0 90 180 270 bit[6:4] 101 000 110 011 motion reporting direction +x +y +x +y +x +y +x +y
for product information and a complete list of distributors, please go to our web site: www.avagotech.com avago, avago technologies, and the a logo are trademarks of avago technologies in the united states and other countries. data subject to change. copyright ? 2005-2012 avago technologies. all rights reserved. av02-2723en - april 17, 2012 vid0 address: 0xe4 type: otp access: read/write reset value: 0x2f bit7 6543210 field vid 7 vid 6 vid 5 vid 4 vid 3 vid 2 vid 1 vid 0 vid1 address: 0xe5 type: otp access: read/write reset value: 0x19 bit76543210 field vid 15 vid 14 vid 13 vid 12 vid 11 vid 10 vid 9 vid 8 data type: 16-bit number. usage: these registers are used to customize device vid. default is avagos vid = 0x192f . otplock1 address: 0xe8 type: otp access: read/write reset value: 0x00 bit76543210 field otplock1 7 otplock1 6 otplock1 5 otplock1 4 otplock1 3 otplock1 2 otplock1 1 otplock1 0 data type: 8-bit fi eld. usage: must write 0xff in this register to lock the otp confi guration. pid0 address: 0xe2 type: otp access: read/write reset value: 0x16 bit7 6543210 field pid 7 pid 6 pid 5 pid 4 pid 3 pid 2 pid 1 pid 0 pid1 address: 0xe3 type: otp access: read/write reset value: 0x09 bit76543210 field pid 15 pid 14 pid 13 pid 12 pid 11 pid 10 pid 9 pid 8 data type: 16-bit number. usage: these registers are used to customize device usb pid. default is avagos pid = 0x0916 .


▲Up To Search▲   

 
Price & Availability of ADNS-2700

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X